This invention relates generally to truly random number generation, and, more specifically, to hardware-based truly random number generation by means of memristive devices. This invention also relates to the field of physically unclonable functions and hardware identification.
Random number generation is used in all manners of systems today. Truly random number generators (TRNG) create series in which one value does not influence any subsequently generated value. Current non-quantum-based hardware TRNG rely on thermal noise in a resistor or avalanche noise from an avalanche diode to produce series values. In this way a series can never be deliberately replicated. However, these methods are often slow or required a significant amount of hardware.
It is frequently easier to use software based pseudo random number generators PRNG) which use a seed to generate numbers in a completely deterministic manner though statistically akin to numbers from TRNG. This method generates large series quickly, but is reproducible on any instance of the PRNG if the seed is known.
Unique hardware identification by means of physically unclonable functions (PUFs) is also of growing interest. This is currently performed using inherent variations in active device components, which add to the energy overhead of the system employing this technology. It is clearly desirable to provide means by which a truly random number can be generated and persist for future query in a passive medium. Random number generators described above cannot address this need under these constraints today. In the case of TRNG, the generated bit strings are irreproducible and thus cannot be identified with a unique hardware source. Whereas, for PRNG, the bit strings are reproducible on all instances of the PRNG and thus also cannot be tied to a unique system.